package com.hafiery.sdk.bluetooth.api;

import com.hafiery.sdk.bluetooth.transport.adapter.Files;
import com.hafiery.sdk.bluetooth.transport.adapter.NobodyAdapter;
import com.hafiery.sdk.bluetooth.transport.adapter.RecordFilesAdapter;
import com.hafiery.sdk.bluetooth.transport.callback.Callback;

public interface IBlueToothApi {
    void getDeviceType(Callback<String> callback);
    void getDeviceID(Callback<String> callback);
    void getDeviceVersion(Callback<String> callback);
    void upgradeDeviceVersion(Callback<String> callback);
    void getDeviceTime(Callback<Integer> callback);
    void setDeviceTime(long unixTime,Callback<String> callback);
    void getDeviceMAC(Callback<String> callback);
    void getDevicePower(Callback<Integer> callback);
    void getDeviceRom(Callback<Integer> callback);
    void getDeviceRomUsed(Callback<Integer> callback);
    void getDeviceRomUnUsed(Callback<Integer> callback);
    void getDeviceBindInfo(Callback<String> callback);
    void bindDevice(String bindInfo,Callback<String> callback);
    void unBindDevice(Callback<String> callback);

    void getBleName(Callback<String> callback);
    void bindBleName(String name,Callback<String> callback);
    void getWifiStatus(Callback<Integer> callback);
    void openOrCloseWifi(boolean b,Callback<String> callback);
    void getCurrentWifiRssi(Callback<Integer> callback);
    void getCurrentWifi(Callback<String> callback);
    void connectWifi(String ssid,String password,Callback<String> callback);
    void disConnectWifi(String ssid,Callback<String> callback);

    void getAutoRecordStatus(Callback<Integer> callback);
    void setAutoRecordStatus(boolean b,Callback<String> callback);
    void getOriginRecordStatus(Callback<Integer> callback);
    void setOriginRecordStatus(boolean b,Callback<String> callback);
    void getRecordModel(Callback<Integer> callback);
    void setRecordModel(int model,Callback<String> callback);
    void getRecordFormat(Callback<Integer> callback);
    void getRecordLightStatus(Callback<Integer> callback);
    void setRecordLightStatus(boolean b,Callback<String> callback);
    void getRecordStatus(Callback<Integer> callback);

    void getCurrentRecordFileName(Callback<String> callback);
    void startRecord(Callback<String> callback);
    void stopRecord(Callback<String> callback);
    void pauseRecord(Callback<String> callback);
    void resumeRecord(Callback<String> callback);

    void getRecordList(int page,int pageSize,Callback<Files> callback);
    void removeRecordFile(String filename,Callback<String> callback);

    void reFactory(Callback<String> callback);
    void formatRom(Callback<String> callback);
    void openOrCloseLiveTransform(boolean open,Callback<String> callback);
    void pauseLiveTransform(Callback<String> callback);
    void resumeLiveTransform(Callback<String> callback);




}
